package com.zp.business.entity.clinicOrder.bo;

import com.zp.common.core.entity.BaseEntity;
import com.zp.common.core.validate.AddGroup;
import com.zp.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;
import java.math.BigDecimal;
import java.util.List;

/**
 * 门诊医嘱业务对象
 *
 * @author zhang peng
 * @ date 2024-01-05
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class ClinicOrdersBo extends BaseEntity {

    /**
     * 主键
     */
    private String id;

    /**
     * 门诊记录
     */
    @NotBlank(message = "门诊记录不能为空", groups = {AddGroup.class, EditGroup.class})
    private String clinicId;

    /**
     * 病人信息Id
     */
    @NotBlank(message = "病人信息Id不能为空", groups = {AddGroup.class, EditGroup.class})
    private String patientId;

    /**
     * 项目类型
     */
    private String itemClass;

    /**
     * 是否申请单
     */
    private String isApply;

    /**
     * 收费标志
     */
    @NotBlank(message = "收费标志不能为空", groups = {AddGroup.class, EditGroup.class})
    private String chargeFlag;


    /**
     * 执行人
     */
    private String implementUser;
    private String implementUserName;

    /**
     * 执行科室
     */
    private String implementDept;
    private String implementDeptName;
    /**
     * 组号
     */
    private String groupNo;

    /**
     * 申请单号
     */
    private String applyNo;

    /**
     * 申请科室
     */
    private String applyDept;
    private String applyDeptName;

    /**
     * 收费号
     */
    private String feesNo;

    /**
     * 应收
     */
    private BigDecimal costs;

    /**
     * 应收
     */
    private BigDecimal charges;
    

    /**
     * 机构ID
     */
    @NotBlank(message = "机构ID不能为空", groups = {AddGroup.class, EditGroup.class})
    private String orgId;

    /**
     * 备注信息
     */
    private String remarks;

    /**
     * 医保是否上传
     */
    private String isUpload;

    /**
     * 医保门诊处方号
     */
    private String visitNumber;

    /**
     * 微信活支付宝支付单号
     */
    private String paymentNumber;

    /**
     * $column.columnComment
     */
    private String numberType;

    /**
     * 支付状态
     */
    private String numberFlag;

    /**
     * 是否合并收费0是1否
     */
    private String mergerCharges;

    /**
     * 诊断信息
     */
    private String diagnosis;

    /**
     * 申请人
     */
    private String applyUser;
    private String applyUserName;


    /**
     * 是否附带费用 true：是   false：否
     */
    private String whetherToComeInAttached;

    /**
     * orders_id 集合
     */
    private List<String> ordersIdArray;

    /**
     * 发药标志
     */
    private String confirmFlag;


    /**
     * 申请单Id
     */
    private String applyId;

}
